import pandas as pd

# 读取表格1和表格2
df1 = pd.read_excel('extracted_unique_texts.xlsx')
df2 = pd.read_excel('data2(800ture_label).xlsx')

# 尝试将df2的第4列转换为数值类型
df2['label'] = pd.to_numeric(df2.iloc[:, 3], errors='coerce')

# 从第二行开始的数据
df1 = df1.iloc[0:]
df2 = df2.iloc[0:]

# 初始化列表来保存每列的计数结果
count1_list = []
count2_list = []

# 遍历表格1的每一列
for col in df1.columns:
    # 初始化计数器
    count1 = 0
    count2 = 0

    # 遍历表格1的当前列的每一项
    for index, value in df1[col].items():
        if value == 1:
            # 检查表格2的标签列对应单元格是否为1
            if df2.at[index, 'label'] == 1:
                count1 += 1
            else:
                count2 += 1

    # 将计数结果添加到列表中
    count1_list.append(count1)
    count2_list.append(count2)

# 创建一个新的DataFrame来保存所有列的计数结果
result_df = pd.DataFrame({'Count1': count1_list, 'Count2': count2_list})

# 转置result_df
result_df_transposed = result_df.transpose()

# 计算每列第2行和第3行的和
sum_of_rows = result_df_transposed.iloc[0:4].sum(axis=0)

# 创建一个新的DataFrame，包含求和结果
sum_df = pd.DataFrame([sum_of_rows])

# 将新DataFrame添加到转置后的DataFrame中，不保留索引
result_df_transposed = pd.concat([result_df_transposed, sum_df], ignore_index=True)

# 将转置并去除第一列后的结果保存到新的Excel文件中
result_df_transposed.to_excel('summy_result.xlsx', index=False)